package com.qtummatrix.dao;

/**
 * create by Gongshiyong  2019-12-07 11:22
 */

import com.qtummatrix.entity.EmpinfoEntity;
import com.qtummatrix.entity.OrganizationEntity;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 系统管理
 */

public interface AuthotityManagerDao {
    /**
     * 获取使用者信息
     *
     * @return
     */
    public List<Map<String, Object>> getUserList(String tel, String username, String rooleid, int bankid,
                                                 int organization, int state, int pageNo, int pageSize);

    /**
     * 获取所有使用者的总数
     *
     * @return
     */
    public Integer getUserSize(String tel, String username, String rooleid, int bankid, int organization, int state);

    /**
     * 重置密码
     *
     * @return
     */
    public int resetUserPassword(int id);

    /**
     * 更改用户状态
     *
     * @param id
     * @return
     */
    public int userOpenEdit(int id);

    /**
     * 验证手机号
     *
     * @param phone
     * @return
     */
    public int validatePhone(String phone);

    /**
     * 验证登录
     *
     * @param tel
     * @param password
     * @return
     */
    public EmpinfoEntity UserLoginValidate(String tel, String password);

    /**
     * 验证添加用户时的手机号
     *
     * @param tel
     * @return
     */
    public int ValidateaddUserTel(String tel);

    /**
     * 获取所有的所属机构
     *
     * @return
     */
    public List<OrganizationEntity> getAllCompany();

    /**
     * 获取所有的银行
     *
     * @return
     */
    public List<Map<String, Object>> getAllBankName();

    /**
     * 获取所有的用户角色
     *
     * @return
     */
    public List<Map<String, Object>> getAllRole();

    /**
     * 添加用户信息
     *
     * @param username
     * @param password
     * @param tel
     * @param bankid
     * @param roleid
     * @param entrytime
     * @param organization
     * @param emial
     * @param linkmanname
     * @param linkmantel
     * @param companytel
     * @return
     */
    public int AddUserInfo(String username, String password, String tel, int bankid, String roleid, Date entrytime,
                           int organization, String emial, String linkmanname, String linkmantel, String companytel);

    /**
     * 获取所有用户角色
     *
     * @return
     */
    public List<Map<String, Object>> getRoleList(String rooname, String bankname, int pageNo, int pageSize);

    //获取角色的个数
    public int getRoleSize(String rooname, String bankname);

    //根据角色id删除角色
    public int deleteRoleById(int id);

    //添加角色
    public int addRole(String rolename, int bankid, String description, String rolePermission);

    //校验角色名
    public int getValidateRoleName(String rolename);

    //获取当前登录用户的权限
    public Map<String, String> getCurrentUserPerssion(String tel);

    //修改密码
    public String eidtPassword(String tel, String oldPassword, String newPassword);

    //获取首页上的数据
    public String getHomePageInfo();
}
